package com.wzq.design.business.base.user.dto;

import com.wzq.design.business.base.user.entity.BaseUser;
import com.wzq.ssm.parent.enums.EnableAndDisableEnum;
import com.wzq.ssm.parent.util.EntityUtil;
import lombok.Data;

/**
 * @author wangzhiqiang
 * @since 2023/6/28 16:00
 */
@Data
public class BaseUserDto {

    /**
     * session中存储的当前用户的key
     */
    public static String SESSION_USER_KEY="current_user";

    private String id;
    /**
     * 部门ID
     */
    private String deptId;
    /**
     * 用户名称
     */
    private String name;

    /**
     * 用户类型
     */
    private BaseUser.UserTypeEnum userType;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 用户性别
     */
    private BaseUser.SexEnum sex;

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 登录名称
     */
    private String loginName;
    /**
     * 帐号状态
     */
    private EnableAndDisableEnum status;
    /**
     * 最后登录IP
     */
    private String loginIp;

    /**
     * 最后登录时间
     */
    private String loginDate;


    public static BaseUserDto fromDb(BaseUser user) {
        return EntityUtil.castDtoToModel(user, BaseUserDto.class);
    }

    public static BaseUser toDb(BaseUserDto userDto) {
        return EntityUtil.castDtoToModel(userDto, BaseUser.class);
    }
}
